This application claims the priority of Korean Patent Application No. 2003-17747, filed on Mar. 21, 2003, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present invention relates to mobile Internet Protocol version 6 (IPv6), and more particularly, to an apparatus and method for distributing a load between home agents in a mobile IPv6 environment.
2. Description of the Related Art
In recent years, the exponential growth of the number of people who access the Internet using their mobile terminals has resulted in shortages of IP addresses. Therefore, a large amount of research has been carried out on mobile IPv6 applications.
FIG. 1 illustrates a mobile IPv6 system in the related art. Referring to FIG. 1, the mobile IPv6 system includes a mobile node (MN) 110, home agents (HA) 120, 130, and 140, which are routers that manage a home address of the mobile node 110 and create a router advertisement (RA) message used for creating a care-of-address (CoA), and a correspondent node (CN) 150, which communicates with the mobile node 110. In addition, the mobile IPv6 system further includes first and second access routers 160 and 170, respectively which route packets from a device attached to an external link. Only one home agent may exist on a home link, or, for example, as shown in FIG. 1, a plurality of home agents, i.e., the home agents 120, 130, and 140, may exist on the home link. The plurality of home agents existing on the home link are called multi-home agents.
In the mobile IPv6 system of FIG. 1, a location of the mobile node 110 can always be detected by referring to the home address of the mobile node 110, regardless of whether the mobile node 110 is connected to the home link or an external link distant from the home link. The home address of the mobile node 110 is an IP address exclusively allocated to the mobile node 110 in a home subnet prefix on the home link.
When the mobile node 110 belongs to the home link, packets with the home address of the mobile node 110 as a destination address are routed by any of the home agents in the home link using a conventional Internet routing mechanism. However, if the mobile node 110 is connected to the external link, distant from the home link, the access router 170 of the external link allocates a preliminary address, i.e., a CoA, to the mobile node 110 because the access router 170 cannot determine the home address of the mobile node 110. Thereafter, the access router 170 routes packets destined for the mobile node 110 using the CoA. The CoA is an IP address related to the mobile node 110 when it has a subnet prefix of the external link.
The mobile node 110 can obtain a CoA using a conventional IPv6 auto-configuration method. When the mobile node 110 is attached to the external link, packets destined for the CoA allocated to the mobile node 110 are routed to the mobile node 110. That is, the preliminary address allocated to the mobile node 110, while the mobile node 110 belongs to the external link rather than the home link, is the CoA.
A process of associating the home address of the mobile node 110 with the CoA is called ‘binding’. When the mobile node 110 is not connected to the home link, the mobile node 110 registers its CoA with a router on the home link to which it belongs. Then, the router serves as a home agent for the mobile node 110. The mobile node 110 carries out binding by sending a binding update (BU) message to the corresponding home agent. Then, the home agent responds to the reception of the BU message by returning a binding acknowledgement (BACK) message to the mobile node 110. The BU message and the BACK message are transmitted to the home agent and the mobile node 110 using an extension header of an IPv6 packet.
A protocol, home agent address discovery, has been recently suggested with respect to mobile IPv6 standards. In particular, the home agent address discovery protocol may support reconfiguration of a plurality of home agents on a home network. A mobile node may not be able to know what its home agent's IP address is, or the mobile node's home subnet prefix may change over the passage of time. A dynamic home agent address discovery mechanism enables a mobile node to obtain an IP address of a home agent on a home link from which the mobile node is based, even when the mobile node is away from the home link.
In other words, a home agent is able to track other home agents on a link where the home agent belongs, and maintains home agent list record information regarding the other home agents. The home agent list is used in the dynamic home agent address discovery mechanism.
A mobile node carries out dynamic home agent address discovery by sending a home agent address discovery request message to a mobile IPv6 home agent. Then, the mobile IPv6 home agent returns a home agent address discovery response message to the mobile node.
When the mobile node accesses a home link for the first time, the mobile node is given a home address that does not change from a home agent (i.e., a master home agent). If the mobile node accesses an external link after leaving the home link, it is given a new preliminary address, i.e., a CoA. When the mobile node receives the CoA, the mobile node sends a BU message to the master home agent, and the master home agent responds to the reception of the BU message by sending a BACK message to the mobile node. Thereafter, the mobile node periodically sends a BU message to, and receives a BACK message from, the master home agent.
The master home agent may not operate due to resetting, repairing of a system or a breakdown of the system, in which case, the mobile node may not receive a BACK message from the master home agent. In this case, the mobile node carries out a home agent address discovery protocol to obtain a new home address.
In order to obtain a new home address, the mobile node anycasts a home agent address discovery request message to a home agent prefix of a home link to which the master home agent belongs.
Then, a home agent that receives the home agent address discovery request message transmits a home agent list, on which unicast addresses of all neighboring home agents are listed, to the mobile node.
The mobile node selects a new home agent address from the unicast addresses included in the received home agent list by taking a priority setting of the listed unicast addresses into consideration. In general, a home agent address with a high priority is selected. Thereafter, the mobile node periodically sends a BU message to, and receives a BACK message from, a new home agent with the selected home agent address.
FIG. 2 illustrates the format of an IPv6 basic header. Referring to FIG. 2, the IPv6 basic header includes a version field 201, a class field 202, a flow label field 203, a payload length field 204, a next header field 205, a hop limit field 206, a source address field 207, a destination address field 208, and an extension header 209.
FIG. 3 illustrates the format of a mobility header. Referring to FIG. 3, the mobility header includes a payload proto field 310, a header length field 320, a mobility header type field 330, a reserved field 340, a checksum field 350, and a message data field 360.
The mobility header is an extension header used for any type of message related to binding creation and management. The mobility header may come right after the IPv6 basic header of FIG. 2 if information that mobile IPv6 data will be transmitted along with a next header is stored in the next header field 205 of the IPv6 basic header.
When the payload proto field 310 has the same value as the next header field 205, the mobility header follows the IPv6 basic header. The header length field 320 indicates the length of the mobility header. The mobility header type field 330 indicates the type of the mobility header. For example, if the mobility header type field 330 has a value of 0, then a binding refresh message is contained in the message data field 360. On the other hand, if the mobility header type field 330 has a value of 5, then a BU message is contained in the message data field 360. Data with a format illustrated in FIG. 5 may be contained in the message data field 360.
FIG. 4 illustrates a BU message. The BU message is used by a mobile node to inform a home agent of the new CoA of the mobile node.
Referring to FIG. 4, a BU message 400 includes a sequence number field 410, an acknowledgement field 420, a home registration field 430, a single address only field 440, a duplicate address detection field 450, a link local address compatibility field 460, a reserved field 470, a lifetime field 480, and a mobility option field 490. The lifetime field 480 indicates the number of time units left before binding is complete.
FIG. 5 illustrates a BACK message. Referring to FIG. 5, a BACK message 500 is used by a home agent to confirm that a BU message has been successfully received.
The BACK message 500 includes a status field 510, a reserved field 520, a sequence number field 530, a lifetime field 540, and a mobility option field 550.
The status field 510, which is represented by a eight-bit integer without a sign, indicates the characteristics of binding update. If the status field 510 has a value smaller than 128, it means the BU message 400 has been accepted by a receiving node. If the status field 510 has a value not smaller than 128, it means that the BU message 400 has been rejected by the receiving mode. For example, if the status field 510 has a value of 0, it means that the BU message 400 has been accepted by the receiving node. The sequence number field 530 of the BACK message 500, which is copied from the sequence number field 410 of the BU message 400, matches the BU message 400 with the BACK message 500.
When selecting a home agent with which a mobile node is registered from a plurality of home agents, the mobile node refers to a New Home Agent Information Option, which is one option for router advertisement messages, recommended in the mobile IPv6 draft. The format of the New Home Agent Information Option is illustrated in FIG. 6.
Referring to FIG. 6, a home agent information option 600 includes an 8-bit type field 610, an 8-bit length field 620, a reserved field 630, a home agent preference field 640, and a home agent lifetime field 650.
A preference value represented by a 16-bit integer is stored in the home agent preference field 640. The higher the preference of the home agent information option 600 is, the higher the value stored in the home agent preference field 640. In other words, a home agent with a home agent preference field that contains a larger value is more likely to be selected by a mobile node. The value of the home agent preference field 640 of a home agent that does not adopt the home agent information option 600 is set to 0. There are two methods of determining the preference value of each home agent, i.e., a static setting method, in which a network manager arbitrarily sets the preference value of each home agent, and a dynamic setting method, in which the preference value of each home agent is determined according to the status of each home agent. More specifically, in the static setting method, the network manager determines the status of each home agent and determines the preference value of each home agent. On the other hand, in the dynamic setting method, the preference value of each home agent is continuously updated to reflect the status of each home agent. The home agent lifetime field 650 contains information, such as a router's lifetime.
However, the static setting method may be too inefficient to appropriately distribute loads because a user arbitrarily inputs a preference value for each of the home agents without considering a current status of each of the home agents. Therefore, it is necessary to adjust priority among home agents based on the status of each home agent.